$(function () {
    $('#dg_user').datagrid({
                               onSelect: onSelectDgUser
                           })
})

function onSelectDgUser(index, rowData) {
    $('#userRoleTab').html('');
    var userId = rowData.id;
    displayRoleByUser(userId);
}

/**
 * 加载当前选中用户的角色列表，有权限的打勾
 * @param userId 用户ID
 */
function displayRoleByUser(userId){
    $('#userRoleTab').html('');
    $.get(ctx + '/sys/limit/user_role/'+userId, {}, function (data) {
        if(!data.data){
            return;
        }
        data = data.data;
        for (var i = 0; i < data.length; i++) {
            var html = '<li style="margin: 10px 0 10px 0">\n';
            if(data[i].checked){
                html += '<input type="checkbox" checked="checked" name="roleIds" value="' + data[i].id + '"/>\n';
            }else{
                html += '<input type="checkbox" name="roleIds" value="' + data[i].id + '"/>\n';
            }
            html += '<span>' + data[i].name + '</span>\n';
            html += '</li>';
            $('#userRoleTab').append(html);
        }
        $('#userRoleTab li input[name="roleIds"]').click(function () {
            var checked = $(this).prop('checked');
            var roleId = $(this).val();
            return saveUserRoleLimit(checked,userId,roleId);
        });
    });
}

/**
 * 保存用户角色关联关系
 * @param checked true:赋予，false:取消
 * @param userId 用户ID
 * @param roleId 角色ID
 */
function saveUserRoleLimit(checked,userId,roleId){
    var isSuccess = false;
    $.ajax({
               url: ctx + 'sys/limit/user_role',
               contentType: 'application/json',
               dataType: 'json',
               data: JSON.stringify({checked: checked, userIds: [userId], roleId: roleId}),
               type: "put",
               async: false,
               success: function (result) {
                   isSuccess = result.success;
               },
               error: function () {
                   $.messager.alert('系统提示', "服务器连接出错");
               }
           });
    return isSuccess;
}